Mini guida alla traduzione. | |
Versione 1.0 beta |
di Macchianera |
Prima di iniziare questa piccola guida è necessario premettere che ogni traduzione di un gioco rappresenta un caso a sé. Infatti a seconda del produttore o addirittura della versione, possono variare i formati di criptazione dei files ed altre cose. Affronteremo quindi l'argomento da un punto di vista generico, andando a spiegare il minimo necessario per tradurre in italiano un'avventura grafica che supporremo
non criptata.
Come prima cosa ci serve il gioco. (Volevo fare una battuta, su... ridere!)
Essenzialmente gli strumenti che dovremo utilizzare sono un editor esadecimale (se ne trovano tranquillamente freeware nella rete) ed un patch maker. L'editor esadecimale è un programma che apre i files guarda caso... in codifica esadecimale; vi serve per modificare i testi in modo corretto. Un patch maker è un programmino che nelle distribuzioni più semplici confronta un file (quello originale) con un altro (quello tradotto da voi) e genera un file eseguibile (exe o com a 16 o 32 bit) che contiene le modifiche da apportare al file originale.
Quando la patch viene attivata, traduce il file della versione originale in italiano (tenendo traccia di quello che ha salvato dal confronto
con la vostra traduzione avvenuto al momento della sua creazione).
Iniziamo con l'editor.
Avviate l'editor ed incominciate a cercare fra i files del gioco che volete tradurre quelli che contengono il testo. Solitamente i testi sono contenuti nei files di archivio, quindi
escludete quelli con estensione exe o com, stesso discorso vale per i drivers delle schede audio (lo so che questo è scontato ma lo dico lo stesso). All'apertura di un qualsiasi file,
dopo averlo visualizzato in modalità esadecimale (nel caso in cui l'editor
supporti anche altre modalità) vi apparirà una schermata simile a questa:
03.LFD R 0000000F -------- 14602 ¦ Hiew 6.01(c)SEN | ||
00000000: 00000010: 00000020: 00000030: 00000040: 00000050: 00000060: 00000070: 00000080: 00000090: 000000A0: 000000B0: 000000C0: 000000D0: 000000E0: 000000F0: 00000100: 00000110: 00000120: 00000130: 00000140: 00000150: 00000160: |
A0 2F 00 34-40 01 90 00-00 00 F9 00-CC 29 1C 00 1C 00 1C 00-07 43 00 00-00 3C 2E 3D-2E 6B 2C 6B 2C 6B 2C 6B-2C 6B 2C 6B-2C 6B 2C 5B-2D 04 2D 21 2D 3E 2D 7F-2D 99 2D 29-2E C8 6D 2F-C9 7E 2F CA 8F 2F 00 07-29 00 3F 00-29 00 3F 00-79 00 3F 00 79 00 3F 00-01 00 9D 00-47 00 9D 00-47 00 7B 00 3F 00 7B 00-3F 00 00 00-9F 00 47 00-9F 00 47 00 F1 00 47 00-F1 00 47 00-00 00 DC 00-49 00 DC 00 49 00 E3 00-5E 00 E3 00-5E 00 00 00-16 01 3E 00 16 01 3E 00-F4 00 47 00-F4 00 47 00-01 00 9D 00 48 00 9D 00-48 00 8A 00-52 00 8A 00-52 00 00 00 8A 00 54 00-8A 00 54 00-75 00 67 00-75 00 67 00 01 00 01 06-01 FF 00 00-00 02 04 02-05 06 05 FF 00 01 01 03-03 03 04 04-04 05 06 05-FF 00 02 02 04 06 02 FF-00 03 02 05-06 02 FF 00-01 01 02 04 02 06 06 06-FF 00 05 05-FF D3 28 52-00 44 01 F9 01 D6 02 EC-03 E1 04 C3-05 E1 06 0E-08 4B 09 AE 0A 30 0C 7B-0D 92 0E C2-0F 00 11 53-12 BE 13 22 15 46 16 FA-16 C6 17 AD-18 85 19 68-1A 5C 1B 46 1C 2A 1D C8-1D 44 1E 06-1F E9 1F BE-20 DB 21 1C 23 25 24 2C-25 46 26 40-27 26 28 00-09 18 19 10 11 00 0D D1-18 21 00 36-11 00 09 21-29 21 19 21 10 11 20 51-10 11 20 11-20 21 00 0D-19 11 82 11 |
á/ 4@É ¨ ¦) C <.=.k,k ,k,k,k,k,k,[--! ->--Ö-).+m/+~/- Å/ ) ? ) ? y ? y ? Ø G Ø G { ? { ? ƒ G ƒ G ± G ± G _ I _ I Ò ^ Ò ^ > > ¶ G ¶ G Ø H Ø H è R è R è T è T u g u g Ë(R D¨ Íýß+ßK « 0{Æ-¤ S¥" §F·ã¡àh\F *+DÚ¥ _! #%$,%F&@'&( Ð! 6 !)!! Q ! é |
1 2PutBlk 3Edit 4Mode 5Goto 6 7Search 8Header 9Files 10Quit |
La colonna più a sinistra è l'indentatura della pagina e per ora non vi interessa, le parti che dovrete modificare sono quella centrale e quella a destra. C'è una corrispondenza diretta fra le coppie alfanumeriche che si possono notare al centro e i singoli caratteri della colonna destra, infatti ciascuna coppia è il codice in forma esadecimale del testo nella colonna posta a fianco. Come avrete notato da questa immagine o da quella del vostro editor, per ora di testi non se ne vedono ed infatti dovete cercarli all'interno del file, per farlo scorrete l'elenco fino a trovare del testo sensato. (Lo so, ci sono anche altri metodi... a seconda dell'editor cambiano e sono più o meno convenienti... anche con l'editor dell'esempio si può usare qualche "trucco", ma come ho premesso questo tutorial è estremamente generale e non specifico.). Ed ecco qua sotto del testo riconoscibile (nel caso riportato si sta traducendo da una versione francese.).
03.LFD R 000038BA -------- 37732 ¦ Hiew 6.01 (c)SEN | ||
00003750: 00003760: 00003770: 00003780: 00003790: 000037A0: 000037B0: 000037C0: 000037D0: 000037E0: 000037F0: 00003800: 00003810: 00003820: 00003830: 00003840: 00003850: 00003860: 00003870: 00003880: 00003890: 000038A0: 000038B0: |
00 AE 02 80-14 02 04 0F-45 63 6F 75-74 65 2D 6D 6F 69 2C 20-75 6E 65 20-66 6F 69 73-20 70 6F 75 72 20 74 6F-75 74 65 2C-20 74 75 20-6E 27 61 73 20 72 69 65-6E FF 01 85-20 66 61 69-72 65 20 69 63 69 2E 00-43 00 40 01-00 78 00 40-24 01 29 00 AE 02 80 14-03 04 0F 45-6E 63 6F 72-65 20 75 6E 65 20 66 6F-69 73 20 73-6F 75 73 20-6C 61 20 6C 65 6E 74 69-6C 6C 65 2E-00 80 68 00-00 D0 28 00 00 F6 FF 0A-D1 FF AE 02-80 14 03 04-0F 53 69 20 71 75 65 6C-71 75 27 75-6E 20 74 65-20 76 6F 69 74 20 69 63-69 2C 20 6F-6E FF 01 76-61 20 6E 6F 75 73 20 66-61 69 72 65-20 6E 6F 74-72 65 20 66 88 74 65 2E-00 AE 02 80-14 03 04 0F-54 75 20 6E 27 61 73 20-72 69 65 6E-20 76 75 2C-20 64 27 61 63 63 6F 72-64 2E FF 01-41 6C 6C 65-7A 2C 20 44 45 43 41 4D-50 45 21 00-18 94 01 14-02 04 00 A0 00 98 00 0F-4A 65 20 6E-27 65 6E 20-63 72 6F 69 73 20 70 61-73 20 6D 65-73 20 79 65-75 78 2E 00 AE 02 80 0A-D0 FF 14 03-04 0F 54 75-20 65 73 20 65 6E 63 6F-72 65 20 6C-85 21 00 AE-02 80 14 02 04 0F 49 6C-20 76 61 20-6D 65 74 74-72 65 20 6E 6F 74 72 65-20 65 6D 70-6C 6F 69 20-64 75 20 74 65 6D 70 73-20 65 6E 20-6C 27 61 69-72 21 00 AE |
«Ç¶¤Ecoute-m oi, une fois pou r toute, tu n'as rien à faire i ci. C @ x @$) «Ç¶¤Encore un e fois sous la l entille. Çh ð( ÷ Ð «Ç¶¤Si quelqu'un te voi t ici, on va no us faire notre f ête. «Ç¶¤Tu n 'as rien vu, d'a ccord. Allez, D ECAMPE! ö¶ á ÿ ¤Je n'en croi s pas mes yeux. «Ç 𠶤Tu es encore là! «Ç¶ ¤Il va mettre n otre emploi du t emps en l'air! « |
1 2PutBlk 3Edit 4Mode 5Goto 6 7Search 8Header 9Files 10Quit |
Adesso che avete trovato il testo potete iniziare a tradurre, una cosa essenziale da non scordare mai è che il numero di caratteri utilizzati per scrivere la traduzione non deve superare quello dei caratteri presenti nella versione originale, in caso contrario il gioco, dopo tanta fatica traduttoria, al momento dell'avvio vi darà un messaggio di errore che non sarà possibile rattoppare in nessun modo.
03.LFD R 000038BA -------- 37732 ¦ Hiew 6.01 (c)SEN | ||
00003750: 00003760: 00003770: 00003780: 00003790: 000037A0: |
00 AE 02 80-14 02 04 0F-45 63 6F 75-74 65 2D 6D 6F 69 2C 20-75 6E 65 20-66 6F 69 73-20 70 6F 75 72 20 74 6F-75 74 65 2C-20 74 75 20-6E 27 61 73 20 72 69 65-6E FF 01 85-20 66 61 69-72 65 20 69 63 69 2E 00-43 00 40 01-00 78 00 40-24 01 29 00 AE 02 80 14-03 04 0F 45-6E 63 6F 72-65 20 75 6E |
«Ç¶¤Ascoltami una volta per tu tte, tu non hai nulla da fare qu i. C @ x @$) «Ç¶¤Ancora un |
Osservate la parte evidenziata del testo... lo spazio vuoto ed il quadratino corrispondono al comando di a capo, infatti la frase apparirà in questo modo:
Ascoltami una volta per tutte, tu
non hai nulla da fare qui. |
Il codice che corrisponde al comando di a capo, come evidenziato
in figura, è FF 01, dove FF genera uno spazio nullo che indica al programma che
il simbolo successivo è un istruzione da eseguire e non un testo da stampare,
(quindi ricordatevi che per inserirlo dovete scrivere FF in esadecimale, e non
premere spazio nella parte del testo a destra, che non è la stessa cosa.),
e 01 è il codice identificativo della funzione a capo. Tutto questo
discorso sul comando di a capo è valido solo per le avventure Lucas
(grazie DK!). Per ogni diversa traduzione dovrete cercare di capire quali sono i
comandi di impaginazione, magari agevolandovi dalla presenza di caratteri
anomali in mezzo a frasi che da sé hanno un senso compiuto o guardando al
momento dell'esecuzione dove le frasi vengono troncate.
Detto questo, siete quasi a cavallo... gli unici problemi
che si possono presentare adesso sono eventuali parole o espressioni che non
possono essere tradotte in italiano per insufficiente numero di caratteri
disponibili. Nel caso delle espressioni, potete cercare di interpretare il testo
a modo vostro, nel caso di parole singole... (es. Key = Chiave) beh.. qui il
discorso si complica. Le soluzioni al problema variano a seconda del gioco che
state traducendo, e quasi sempre comportano l'impiego di rischiose operazioni di
manipolazione del file in cui è contenuto l'indice degli indirizzi. Per ora
l'unico consiglio che posso darvi per non incorrere troppo di frequente in
questi problemi, è quello di tradurre dalle versioni già localizzate in lingue
di radice latina, quindi il Francese o lo Spagnolo, che hanno un vocabolario
simile all'italiano e che sono più facilmente adattabili. A questo punto si
tratta di tradurre i testi in italiano, quindi... al lavoro!!!
Creiamo la Patch
Bene, avete tradotto almeno un file? (E' una domanda retorica, non mi
aspetto una risposta.) Ora dovete testare il vostro lavoro... sostituite il file
originale con quello da voi tradotto nel gioco ed avviate il programma, se tutto
funziona bene, il primo passo è compiuto. Ora dovete rendere la vostra opera
distribuibile, per farlo procuratevi un patch maker (la sezione strumenti di
questo stesso sito fa al caso vostro...), esistono diversi tipi di
patch maker, ma il loro funzionamento è più o meno questo: si danno in pasto
al programma il file originale ed il file modificato, questi li confronta e
genera un file eseguibile in cui vengono segnate le differenze (nel vostro caso
la patch avrà il compito di sostituire all'indirizzo xxxxx il testo yyyyy con
il testo zzzzz).
A questo punto avete quasi tutto, vi manca solo una buona dose di pazienza...
Buon lavoro!